package utility;

import java.util.Vector;

public abstract class Attributes {
    protected String type;
    protected String kind;
    protected Boolean parameter=false;
    public Attributes() {

    }
    Attributes(Boolean parameter)
    {
        this.parameter = parameter;
    }
    public Boolean getParameter() {
        return parameter;
    }

    public void setParameter(Boolean parameter) {
        this.parameter = parameter;
    }

    public String getType() {
        return type;
    }

    public String getKind() {
        return kind;
    }

    public Boolean equals(Attributes attributes) {
        if (type.equals(attributes.type) && kind.equals(attributes.kind))
            return true;
        return false;
    }

}

class IntegerAttributes extends Attributes {
    public IntegerAttributes() {
        type = "int";
        kind = "var";
    }
    public IntegerAttributes(Boolean para) {
        super(para);
        type = "int";
        kind = "var";
    }
}

class RealAttributes extends Attributes {
    public RealAttributes() {
        type = "real";
        kind = "var";
    }
    public RealAttributes(Boolean para) {
        super(para);
        type = "real";
        kind = "var";
    }
}
class StringAttributes extends Attributes {
    public StringAttributes() {
        type = "string";
        kind = "var";
    }
    public StringAttributes(Boolean para) {
        super(para);
        type = "string";
        kind = "var";
    }
}

class ErrorAttributes extends Attributes {
    public ErrorAttributes() {
        type = "error";
        kind = "error";
    }
}